Skip to content

research: 在隔离 Windows 构建固定 ConPTY margin 候选 - #96

Closed
JavaZeroo wants to merge 5 commits into
fix/conpty-backend-r47from
research/conpty-build-r56
Closed

JavaZeroo wants to merge 5 commits into
fix/conpty-backend-r47from
research/conpty-build-r56

Conversation

@JavaZeroo

@JavaZeroo JavaZeroo commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

为 #56 的固定 MIT margin 补丁提供真实、隔离且可追溯的构建入口。固定上游需要 v145,本机仅有 v143;使用 GitHub-hosted Windows,保留原 Terminal/vcpkg/NuGet 版本、feature、源码和补丁 SHA。

先只应用测试补丁,要求一次明确的 margin 断言失败,构建并保存原生产代码的 baseline EXE/DLL;再应用两个实现文件的补丁,要求 focused 和完整 adapter 通过,构建并保存 patched EXE/DLL。两组有独立 variant 清单、双文件 SHA、测试状态和 LICENSE/NOTICE。缺包、零测试、跳过、超时和 TAEF 框架错误均被拒绝。

入口固定临时宿主 LF checkout、完整 vcpkg 历史及 OpenConsole.slnx 的真实顺序依赖。没有修改上游依赖版本或断言来规避构建失败。

验证

  • 当前 HEAD 5c073e49ecef6722f997cdc9a7d3b8dd97e594ee,tree 2d56689e47ff4c1cd15ce2da58d3623d77dcdbe2;Standards / Spec 分别复审相同 tree,各 0 个剩余发现。纯判据 6/6、PowerShell AST、diff 检查通过,真实非 hosted 调用在创建输出前拒绝。
  • v2 构建 40449292015 成功;实际 checkout ad857d448dfe64c0c11d10254043a8b893e7546a。baseline focused 明确 1 fail/exit1;patched focused 1/1、full adapter 412/412,零 skip。baseline 完整 adapter 未验,共享 summary 不把它计为全绿。
  • summary artifact 12710186210、baseline 12710186222、patched 12710146241 的 ZIP SHA 和内部清单均已下载核对。原 summary SHA 8132695b32162ff22e61d2de166a31fad508f0b63cbb46de8d1612bd197e1ded 在三个产物中相同。
  • 两组 DLL 均为 9d165745cce4b29a5818a45c23f68e962b3a3140c2e00566bd17fee970fdd9d1;baseline EXE fabdc934d9755c405fe848251905e8c0e70a2bf7702b8ed7ccd104eec6591588,patched EXE 1c8f071f6e4779ec297fb041af4eaea39be29b6920cef625ab91d1cbc20c79cb。
  • 当前常规 CI:PR default 40449292094、PR candidate 40449291983、push default 40449286763 成功;push candidate 40449286764 失败,原 candidate-scroll 20秒退出超时已保留到 [R2][回归] 定位 candidate-scroll 末帧生成后的原20秒退出超时 #97。正确末帧已产生,根因未定,没有重跑取绿;其他成功不能覆盖此失败。
  • 首版 LF、vcpkg shallow、解决方案顺序依赖的三次失败及针对性修正保存在 [R2][终端] 确定保留原合同的原生 API 与末端 margin 处理路径 #56;首次 v1 成功构建的白名单记录位于 experiments/conpty/results/2026-10-27-upstream-margin-build/。v1 只产出 patched pair,不能冒充 v2 同源对照。首版独立 Windows prepare 失败保留在 [R2][CI] 定位 hosted shell 准备超时并保留子命令边界 #81。

边界

本 PR 只建立并验证上游构建,不把 adapter 测试当成原生运行时或完整产品验收。后续独立 source 身份、原175B四阶段、原生/运输/候选末端和反例实验由 Draft PR #98 单独交付与审查。#56 / #41 继续开放。

目标仅为实验父分支 fix/conpty-backend-r47,PR #50 保持 Draft。没有选择产品后端、替换官方1.25身份或修改本机安装。此 PR 仍保留 Draft,#97 的真实失败独立跟踪。

…st (#56)

Preserve upstream toolchain/dependency identity; require a causal TAEF red,
focused and full adapter green before creating an experimental pair.
Runtime and product acceptance remain unverified.
text=auto still uses native EOL with autocrlf=false; explicitly use LF in
the disposable host. Preserve the failed first CI and unchanged patch SHA.
Keep the exact baseline and dependency versions. A full Git history is
required for the fixed cmark and cli11 trees missing in the shallow clone.
Generate Proxy MIDL headers before hostlib, and preserve the fixed solution's
Types, Buffer, Render and Propsheet build ordering without source changes.
@JavaZeroo

Copy link
Copy Markdown
Owner Author

关闭原因:本 PR 挂在已被 main 取代的 ConPTY 后端上,对 main 冲突 13 处,整体重基不可行。

其结论文档与固定验证结果已在 #261 摘取入库(docs/research/ 与 experiments/conpty/results/)。CI 配置 conpty-upstream.yml 基于旧后端,不迁移。

@JavaZeroo JavaZeroo closed this Oct 31, 2026
JavaZeroo added a commit that referenced this pull request Oct 31, 2026
这些分支挂在已被 main 取代的 ConPTY 后端上,整体重基不可行(merge-tree 实测 16 处冲突),但它们的结论文档与固定验证身份在 main 上缺失。

本次只新增、不修改 main 已有文件(diff 全部为 A,0 处修改):

- docs/research/ 14 份:ConPTY 源 margin 的 runtime/controls/styles、experimental backend、
  native viewport resize、resize replay cost、Vim msys input/runtime、WindTerm styled margin reference、
  workflow record checkpoint、workspace native viewport、clipboard stage observation
- experiments/conpty/results/ 40 个固定结果与 validation 身份
- experiments/shell/results/ 25 个
- research/ui/results/ 2 个

代码侧(backend_probe.cpp、margin_controls.py 等基于旧后端的实现)不摘取,旧后端已由 main 的
cmake/ConptyBackend.cmake 取代。

摘取后即可关闭 #96/#98/#100/#102/#103/#101,并在各自评论中指向这些新位置。
JavaZeroo added a commit that referenced this pull request Oct 31, 2026
docs(research): 从 Draft PR #96–#103 / #101 摘取未入库的证据
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant